﻿/*************************************************************************************

- CLR版本：        4.0.30319.42000
- 类 名 称：       JsonSerializeHelper
- 机器名称：       YTE
- 命名空间：       LD.Host.Common
- 文 件 名：       JsonSerializeHelper
- 创建时间：       2022/9/8 15:16:19
- 作    者：       YTE
- 说   明：
- 修改时间：
- 修 改 人：
  *************************************************************************************/

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LD.Host
{
    public class JsonSerializeHelper
    {
        public static T Load<T>(string fileName) where T : class
        {
            T result = null;

            if (File.Exists(Path.Combine(fileName)))
            {
                using (StreamReader sr = new StreamReader(fileName))
                {
                    result = JsonConvert.DeserializeObject<T>(sr.ReadToEnd());
                }
            }
            return result;
        }
        public static void Save<T>(T t, string fileName) where T : class
        {
            if (t != null)
            {
                try
                {
                    using (StreamWriter sw = new StreamWriter(fileName, false, Encoding.UTF8))
                    {
                        string jsonstr = JsonConvert.SerializeObject(t);
                        sw.Write(jsonstr);
                        sw.Close();
                    }
                }
                catch (Exception ex)
                {
                    Log4.Error(ex);
                }
            }
        }
    }
}
